offset
を用いて、一部の回帰係数の値を固定して適合する。
library(survival)
## Loading required package: splines
data(stanford2)
head(stanford2)
## id time status age t5
## 139 139 86 1 12 1.26
## 159 159 10 1 13 1.49
## 181 181 60 0 13 NA
## 119 119 1116 0 14 0.54
## 74 74 2006 0 15 1.26
## 120 120 1107 0 18 0.25
r1 <- coxph(Surv(time, status) ~ age + t5, stanford2)
(coef.t5 <- coef(r1)[2])
## t5
## 0.1704
r2 <- coxph(Surv(time, status) ~ age + offset(coef.t5 * t5), stanford2)
\( h(t)=h_0(t)exp(\beta_1\cdot age+\beta2\cdot t5) \) を適合したのがr1
\( \beta_2=0.1704 \)と固定して \( h(t)=h_0(t)exp(\beta_1\cdot age+0.1704\cdot t5) \) を適合したのがr2
summary(r1)$coef
## coef exp(coef) se(coef) z Pr(>|z|)
## age 0.02961 1.030 0.01136 2.6078 0.009112
## t5 0.17041 1.186 0.18326 0.9299 0.352431
summary(r2)$coef
## coef exp(coef) se(coef) z Pr(>|z|)
## age 0.02961 1.03 0.01135 2.609 0.009085
r1
とr2
でage
の回帰係数の推定結果がほぼ同じになっている。